
#ifndef _SC_GUI_H
#define _SC_GUI_H
/*
*---------------------------------------------------------------
*                        SC_GUI for V1.1
* 一个小内存(1K)占用的开源GUI,支持背景透明度,支持LVGL抗锯齿字体,动态文字,实用波形图
* 感谢网友开源工具Lvgl Font Tool V0.4 生成 阿里(qq:617622104)
* 作者:黎R(WX:13018616872)
* 社区:(QQ群:799501887)
*---------------------------------------------------------------
*/
#include "lvgl.h"
#include "sc_lcd.h"


typedef struct
{
    int  xs;
    int  ys;
    int  xe;
    int  ye;
}SC_AERA;

typedef struct SC_font_t
{
    u8       h;
    u8       w;
    u8       offsy;
    u8 	     *Tab_buf;      //英文取模
    u8        Tab_len;
    char     *List;         //字典表
} SC_FONT;

typedef struct
{
    u16        colour[4];    //全局调色板
    u16        state;
    SC_AERA    lcd_area;
    SC_AERA    *align;         //对齐
    SC_RAM     *ram;           //位图
    void      *gbkg;           //背景
    void      *font;           //字体
    void     (*bsp_pset)(int,int,u16);
    void     (*ram_pset)(int,int,u16);
}SC_GUI;

extern SC_GUI *gui;

void SC_GUI_Init(SC_GUI* g, void (*bsp_pset)(int,int,u16),u16 bc,u16 c1,u16 c2,u16 c3, void* font);

void  SC_Show_str1(int xs,int ys,u16 fc, u16 bc,const char* str, u16 code, void* sc_font);

void  SC_Show_str(int x,  int y, u16 fc, u16 bc,const char* txt, u16 code, void* lv_font);

void  SC_Show_float(int x,int y, u16 fc, u16 bc,int num,u16 div,void* lv_font);


void SC_FillFrame(int xs,int ys,int xe,int ye,u16 fc);
void SC_DrawFrame( int xs, int ys, int xe, int ye,u16 fc);

void SC_RoundFrame0( int x1, int y1, int x2, int y2, u16 r,u16 fc);
void SC_RoundFrame1( int x1, int y1, int x2, int y2, u16 r,u16 fc);
void SC_Show_chart(SC_AERA* chart,int xd,int yd,int vol,u16 fc,u16 gc);


#define  SC_STATE_STR_LEFT      0x01   //左对齐
#define  SC_STATE_STR_RIGHT     0x02   //右对齐
#define  SC_STATE_STR_MID       0x03   //居中齐
#define  SC_STATE_STR_Refresh   0x04   //自动刷新

#define  SC_STATE_CHART         0x10   //示波器
#define  SC_STATE_IMAGE         0x20   //图片


#define SC_UP_RIGHT0   0x01
#define SC_UP_LEFT0    0x02
#define SC_LO_LEFT0    0x04
#define SC_LO_RIGHT0   0x08

#define SC_UP_RIGHT1   0x10
#define SC_UP_LEFT1    0x20
#define SC_LO_LEFT1    0x40
#define SC_LO_RIGHT1   0x80

#endif
